﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ModeloDatos
{
    public class CRUD_Productos
    {
        PedidosDataContext db = new PedidosDataContext();
        public String insertarProducto(Producto pro)
        {
            String rpta = "";
            try
            {
                db.SP_Insertar_pro_Producto(pro.IdProducto,
                                            pro.NombreProducto,
                                            pro.PCProducto,
                                            pro.PVProducto,
                                            pro.StockProducto,
                                            pro.FechaActProducto,
                                            pro.MarcaProducto,
                                            pro.UnidMedProducto);

                rpta = "Producto registrado con éxito";

            }
            catch (Exception ex)
            {
                rpta = ex.Message;
            }
            return rpta;
        }

        public List<Producto> listarProductos()
        {
            List<Producto> lista = new List<Producto>();
            try
            {
                var consulta = db.SP_Listar_Producto();
                foreach (var pro in consulta)
                {
                    Producto p = new Producto();
                    p.IdProducto = pro.IdProducto;
                    p.NombreProducto = pro.NombreProducto;
                    p.PCProducto = pro.PCProducto;
                    p.PVProducto = pro.PVProducto;
                    p.StockProducto = pro.StockProducto;
                    p.FechaActProducto = pro.FechaActProducto;
                    p.MarcaProducto = pro.MarcaProducto;
                    p.UnidMedProducto = pro.UnidMedProducto;
                    lista.Add(p);
                }
            }
            catch (Exception)
            {

                throw;
            }

            return lista;

        }

        public Producto listarProducto(int codigo)
        {

            Producto p = null;
            try
            {
                var consulta = db.Sp_BuscarProducto(codigo);
                foreach (var pro in consulta)
                {
                    p = new Producto();
                    p.IdProducto = pro.IdProducto;
                    p.NombreProducto = pro.NombreProducto;
                    p.PCProducto = pro.PCProducto;
                    p.PVProducto = pro.PVProducto;
                    p.StockProducto = pro.StockProducto;

                }
            }
            catch (Exception)
            {
                throw;
            }

            return p;
        }

        public List<Producto> listarProductoByNombre(string nombre)
        {
            List<Producto> lista = new List<Producto>();
            Producto p;
            try
            {
                var rs = db.SP_Buscar_ProductosByNombre(nombre);

                foreach (var pro in rs)
                {
                     p = new Producto();
                     p.IdProducto = pro.IdProducto;
                     p.NombreProducto = pro.NombreProducto;
                     p.PCProducto = pro.PCProducto;
                     p.PVProducto = pro.PVProducto;
                     p.StockProducto = pro.StockProducto;
                     lista.Add(p);
                }
            }
            catch (Exception ex)
            {
                System.Console.Write(ex.Message);
            }
            return lista;
        }
    }
}

